package dk.itu.mobile.vo;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;

/**
 * @author niebje
 *
 */
@XmlRootElement (name ="tasks")
public class TaskList implements Serializable {

	private static final long serialVersionUID = 1L;
	
//	@XmlElementWrapper (name ="users")
//	@XmlElement(name ="user")
//	public List<User> users;
	//@XmlElementWrapper (name ="tasks")
	@XmlElement (name ="task")
	public List<Task> tasks;
	
	public TaskList() {
		
//		users = new ArrayList<User>();
		tasks = new ArrayList<Task>();
	}
	/**
	 * Method for linking actual user objects into tasks..
	 * pretty clumsy method, but it gets the job done
	 */
//	public void populateTaskUsers() {
//		for (Task task : tasks) {
//			List <User> taskUsers = new ArrayList<User>();
//			String[] attendants = task.attendants.split(", ");
//			for (String attendant : attendants) {
//				for (User user : users) {
//					if ( attendant.equals(user.name) ) {
//						taskUsers.add(user);
//					}
//				}
//			}
//			task.setUsers(taskUsers);
//		}
//	}
//	
//	public User getUserByName(String name) {
//		for (User user : users) {
//			if (user.name.equals(name)) {
//				return user;
//			}
//		}
//		return null;
//	}
//	
	public Task getTaskById(String id) {
		for (Task task : tasks) {
			if (task.id.equals(id)) {
				return task;
			}
		}
		return null;
	}
	
	public void updateTask(Task value) {
		for (Task task :tasks) {
			if (task.id.equals(value.id) )
			{
				task = value;
				return;
			}
		}
	}
	
	public void removeTask(Task task) {
		tasks.remove(task);
	}
	
//	public void updateUser(User value) {
//		for (User user:users) {
//			if (user.name.equals(value.name)) {
//				user =value;
//				return;
//			}
//		}
//	}
//	
//	public void removeUser(User value) {
//		users.remove(value);
//	}
//	
	
	
	
}
